kimjeongwonnabout

[네트워크] OSI 7 Layers

네트워크 프로토콜과 통신의 7개 계층

  • 네트워크 프로토콜과 통신을 7개의 계층으로 표현하여 기능별로 나누고 계층으로 구분한 것
  • 물리적인 단계에서 논리적인 단계를 흐름별로 파악할 수 있게 해줌
  • 때문에 중간에 문제가 생기면 7단계 중에서 어느 곳에서 문제가 생겼는지 빠르게 파악하고 해당 부분만 수리하거나 교체하여 복구할 수 있음
  • 네트워크 장비를 만들 때 호환성을 위한 표준을 정의하기 위해서

OSI 7 Layer 모델

  • Application (layer 7 - 논리적)
    • 응용 서비스 HTTP(웹) / SMTP(메일)
  • Presntation
    • 인코딩 / 암호화 / 압축
  • Session
    • TCP / IP 통신 연결을 수립 / 유지 / 중단
  • Transport
    • TCP / UDP
  • Network
    • IP통신, 라우팅
  • Data Link
    • 이더넷, 랜카드, MAC통신, 에러검출 / 재전송
  • Physical (layer 1 - 물리적)
    • 네트워크 하드웨어 전송기술

Layer 1 - Physical

  • 장치 사이의 물리적인 통신을 위해 전기적, 기계적인 방법으로 동작한다.
  • 통신 단위는 비트이며 데이터 전송에만 관여하고 데이터의 진단이나 가공에는 전혀 관여하지 않는다.
  • 대표적인 장비로 통신 케이블, 리피터, 허브 등이 있다.

Layer 2 - Data Link

  • Pysical Layer에서 송수신되는 정보의 오류와 흐름을 관리하여 통신이 무사히 수행될 수 있도록 한다.
  • 장치별로 고유한 MAC주소를 가지고 통신을 하게 되며, ‘프레임’ 단위를 통해 통신한다.
    • MAC주소는 IEEE802에서 관리한다.
  • Point to Point 방식으로 신뢰성 있는 전송을 보장하며 CRC기반의 오류 제어와 흐름제어가 필요하다.
  • 장비로는 네트워크 브릿지, 스위치, 모뎀 등이 해당하며 MAC주소도 해당 계층에서 관리한다.

Layer 3 - Network

  • 가장 중요한 Layer로 데이터를 다른 목적지로 가장 빠르고 안전하게 전달하는 기능(Routing)을 담당한다.
  • IP 주소를 통해서 통신하며, 네트워크 관리자가 직접 할당한다.
  • 데이터가 큰 경우 Packet단위로 분할하여 전송하고, Packet단위로 송신된 데이터를 조립한다.
  • 경로를 찾아주는 기능(Routing)만 담당하고 Packet의 신뢰성(에러제어), 흐름제어에 대한 기능은 없다
    • 상위 Layer인 Layer 4 - Transport에서 담당한다
  • Layer 3 를 거치면서 Packet의 헤더에 수신 및 발신 주소를 포함한다.
  • 장비로는 라우터, L3 스위치, IP 공유기 등이 있다.

Layer 4 - Trasport

  • 호스트 간의 데이터 전송을 담당하며 데이터의 흐름제어와 신뢰성을 보장해준다.
  • 포트를 열어서 응용프로그램들이 데이터를 송수신 할 수 있도록 해준다.
  • Segment를 단위로 상용한다.
  • TCP 프로토콜
    • 패킷에 대한 신뢰성을 보장한 연결지향성 서비스를 제공한다
    • 송신자와 수신자의 확실한 연결을 보장한 상태에서 통신을 시도한다.
      • 연결 시 3-way handshaking 방식으로 연결한다.
      • 종료 시 4-way handshaking 방식으로 종료한다.
    • 모든 패킷의 손실, 중복, 순서바뀜 등을 방지하고 보장한다.
    • UDP에 비하여 상대적으로 속도가 느리다.
    • Network Layer의 패킷에 대하여 신뢰성을 제공한다.
  • UDP 프로토콜
    • 신뢰성을 보장하지는 않지만 실시간으로 멀티캐스팅이 가능하다
    • 송신자와 수신자 사이의 별도의 연결 과정없이 통신을 시도한다.
    • 모든 패킷의 손실, 중복, 순서바뀜 등에 대해 무방비하다.
      • 수신하는 쪽에서 오류와 흐름제어를 스스로 갖추어 해결할 수 있다.
    • TCP에 비하여 상대적으로 속도가 빠르다.
  • Hardware Layer로 구분하기는 모호하지만 Port를 관리하는 L4 로드 밸런서라는 장비가 있다.

Layer 5 - Session

  • 응용프로그램에서 통신을 위한 논리적인 연결에 대한 방법을 제공한다.
    • 운영체제의 Session Table을 통해 로컬 및 원격 어플리케이션 간의 IP와 Port 연결을 관리한다.
  • 앞의 4개의 Layer와 무관하게 응용 프로그램 관점에서 접근해야 한다.
  • 세션의 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
  • TCP / IP 세션을 만들고 없애는 책임을 갖는다.

Layer 6 - Presentation

  • 데이터의 인코딩, 암호화 등 메타정보 처리에 대한 부담을 Application Layer에서 덜어준다.
  • MIME인코딩, 암호화 작업 등이 이 Layer에서 이루어 진다.
  • 해당 데이터의 타입에 대한 구분, 인코딩과 디코딩 등을 담당한다.

Layer 7 - Application

  • 최종 목적지이자 시발점으로 HTTP, FTP, SMTP, POP3, IMAP, Telnet과 같은 프로토콜이 있다.
  • 사용자와 가장 밀접하게 닿아있는 Layer이며 어플리케이션 레벨에서 필요한 서비스를 수행한다.